-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
FreeBSD-SA-05:05.cvs                                        Security Advisory
                                                          The FreeBSD Project

Topic:          Multiple vulnerabilities in CVS

Category:       contrib
Module:         cvs
Announced:      2005-04-22
Credits:        Alen Zukich
Affects:        All FreeBSD 4.x releases
                All FreeBSD 5.x releases prior to 5.4-RELEASE
Corrected:      2005-04-22 18:01:04 UTC (RELENG_5, 5.4-STABLE)
                2005-04-22 18:03:18 UTC (RELENG_5_4, 5.4-RELEASE)
                2005-04-22 18:07:10 UTC (RELENG_5_3, 5.3-RELEASE-p10)
                2005-04-22 18:13:30 UTC (RELENG_4, 4.11-STABLE)
                2005-04-22 18:17:22 UTC (RELENG_4_11, 4.11-RELEASE-p4)
                2005-04-22 18:16:15 UTC (RELENG_4_10, 4.10-RELEASE-p9)
CVE Name:       CAN-2005-0753

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
<URL:http://www.freebsd.org/security/>.

I.   Background

The Concurrent Versions System (CVS) is a version control system.  It
may be used to access a repository locally, or to access a `remote
repository' using a number of different methods.  When accessing a
remote repository, the target machine runs the CVS server to fulfill
client requests.

II.  Problem Description

Multiple programming errors were found in CVS.  In one case, variable
length strings are copied into a fixed length buffer without adequate
checks being made; other errors include NULL pointer dereferences,
possible use of uninitialized variables, and memory leaks.

III. Impact

CVS servers ("cvs server" or :pserver: modes) are affected by these
problems.  The buffer overflow may potentially be exploited to execute
arbitrary code on the CVS server, either in the context of the
authenticated user or in the context of the CVS server, depending on
the access method used.  The other errors may lead to a denial of
service.

IV.  Workaround

No workaround is available for cvs servers; cvs clients are unaffected.

V.   Solution

Perform one of the following:

1) Upgrade your vulnerable system to 4-STABLE or 5-STABLE, or to the
RELENG_5_3, RELENG_4_11, or RELENG_4_10 security branch
dated after the correction date.

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 4.10,
4.11, and 5.3 systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

[FreeBSD 4.10]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:05/cvs410.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:05/cvs410.patch.asc

[FreeBSD 4.11 and 5.3]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:05/cvs.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:05/cvs.patch.asc

b) Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/cvs
# make obj && make depend && make && make install

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
  Path
- -------------------------------------------------------------------------
RELENG_4
  src/contrib/cvs/src/login.c                                     1.3.2.6
  src/contrib/cvs/src/patch.c                                 1.1.1.7.2.7
  src/contrib/cvs/src/rcs.c                                      1.19.2.7
RELENG_4_11
  src/UPDATING                                              1.73.2.91.2.5
  src/sys/conf/newvers.sh                                   1.44.2.39.2.8
  src/contrib/cvs/src/login.c                                 1.3.2.5.2.1
  src/contrib/cvs/src/patch.c                             1.1.1.7.2.6.2.1
  src/contrib/cvs/src/rcs.c                                  1.19.2.6.2.1
RELENG_4_10
  src/UPDATING                                             1.73.2.90.2.10
  src/sys/conf/newvers.sh                                  1.44.2.34.2.11
  src/contrib/cvs/src/login.c                                 1.3.2.4.6.1
  src/contrib/cvs/src/patch.c                             1.1.1.7.2.5.6.1
  src/contrib/cvs/src/rcs.c                                  1.19.2.5.6.1
RELENG_5
  src/contrib/cvs/src/login.c                                     1.8.2.1
  src/contrib/cvs/src/patch.c                                1.1.1.13.2.1
  src/contrib/cvs/src/rcs.c                                      1.27.2.1
RELENG_5_4
  src/UPDATING                                             1.342.2.24.2.4
  src/contrib/cvs/src/login.c                                     1.8.6.1
  src/contrib/cvs/src/patch.c                                1.1.1.13.6.1
  src/contrib/cvs/src/rcs.c                                      1.27.6.1
RELENG_5_3
  src/UPDATING                                            1.342.2.13.2.13
  src/sys/conf/newvers.sh                                  1.62.2.15.2.15
  src/contrib/cvs/src/login.c                                     1.8.4.1
  src/contrib/cvs/src/patch.c                                1.1.1.13.4.1
  src/contrib/cvs/src/rcs.c                                      1.27.4.1
- -------------------------------------------------------------------------

VII. References

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0753
http://secunia.com/advisories/14976/
http://xforce.iss.net/xforce/xfdb/20148

The latest revision of this advisory is available at
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:05.cvs.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)

iD8DBQFCaUaaFdaIBMps37IRAvkoAJ47xsv+CGE12jJxGRMZrS8nFgx9XQCfVs5W
ZqGIq4p/ylx2yUZvZTjh34o=
=ldk9
-----END PGP SIGNATURE-----
